<?php

/* * *********************************************************** */
/* * ********************** Classe UsuarioDao ********************* */
/* * ************ Desenvolvido por Antônio Ezequiel ************** */
/* * *********************************************************** */

class CategoriaDao extends Categoria {

    public function adicionarCategoria() {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("insert into tbl_categoria (cat_descricao, cat_destaque)
                                values ('$this->cat_descricao', '$this->cat_destaque')");

        if ($queri) {
            $id = parent::get_insert_id();
            parent::desconectarBD();
            return $id;
        } else {
            parent::desconectarBD();
            return false;
        }
    }
    
    public function isDestaque($codigo) {

        global $configurator;

        parent::conectarBD();
        
        $queri = parent::query("select cat_codigo as quantidade from tbl_categoria where cat_codigo = '$codigo' and cat_destaque = '1'");

        if ($queri->fetch_assoc()) {
            parent::desconectarBD();
            return true;
        } else {
            parent::desconectarBD();
            return false;
        }
    }
    
    public function verificarDisponibilidadeDestaque() {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("select count(cat_codigo) as quantidade from tbl_categoria where cat_destaque = 1 and cat_ativo = '1'");

        if ($queri) {
            $dados = $queri->fetch_assoc();
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function listarCategoriaAutoComplite($nome) {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("select cat_descricao as descricao, cat_codigo as codigo from tbl_categoria where cat_ativo = 1 and cat_descricao like '%$nome%' order by cat_descricao asc");

        if ($queri) {
            $dados = parent::fetch_rows($queri);
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function listarCategoriaNome($nome) {

        global $configurator;

        parent::conectarBD();
        
        $queri = parent::query("select cat_codigo as codigo from tbl_categoria where cat_ativo = 1 and cat_descricao like '$nome'");

        if ($queri) {
            $dados = $queri->fetch_assoc();
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function atualizarCategoria($codigo) {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("update tbl_categoria set cat_descricao = '$this->cat_descricao', cat_destaque = '$this->cat_destaque'
                                where cat_codigo = '$codigo'");

        if ($queri) {
            parent::desconectarBD();
            return true;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function deletarCategoria($codigo) {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("update tbl_categoria set cat_ativo = '0' where cat_codigo = '$codigo'");

        if ($queri) {
            parent::desconectarBD();
            return true;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function listarCategoriasPaginado($inicio, $porPagina) {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("select cat_descricao as descricao, cat_destaque as destaque, cat_codigo as codigo from tbl_categoria where cat_ativo = '1' limit $inicio, $porPagina");

        if ($queri) {
            $dados = parent::fetch_rows($queri);
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function listarCategorias() {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("select cat_descricao as descricao, cat_destaque as destaque, cat_codigo as codigo from tbl_categoria where cat_ativo = '1'");

        if ($queri) {
            $dados = parent::fetch_rows($queri);
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }
    
    public function listarCategoriasDestaque() {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("select cat_descricao as descricao, cat_destaque as destaque, cat_codigo as codigo from tbl_categoria where cat_ativo = '1' and cat_destaque = '1'");

        if ($queri) {
            $dados = parent::fetch_rows($queri);
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function listarCategoriasPaginadoAjax($ini, $inicio, $porPagina) {

        global $configurator;

        parent::conectarBD();
               
        $queri = parent::query(sprintf("select cat_descricao as descricao, cat_destaque as destaque, cat_codigo as codigo from tbl_categoria
                                        where %s %s LIMIT $inicio, $porPagina", $ini, $this->cat_descricao));

        if ($queri) {
            $dados = parent::fetch_rows($queri);
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function listarcategoria($codigo) {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("select cat_descricao as descricao, cat_destaque as destaque from tbl_categoria where cat_codigo ='$codigo' and cat_ativo = '1'");

        if ($queri) {
            $dados = $queri->fetch_assoc();
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function totalPaginas() {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("select count(cat_codigo) as quantidade from tbl_categoria where cat_ativo = '1'");

        if ($queri) {
            $dados = $queri->fetch_assoc();
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function totalPaginasAjax($ini) {

        global $configurator;

        parent::conectarBD();
        
        $queri = parent::query(sprintf("select count(*) as totRegistros from tbl_categoria
                                        where %s %s ", $ini, $this->cat_descricao));

        if ($queri) {
            $dados = $queri->fetch_assoc();
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }
}

?>
